<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
                xmlns:ui="http://java.sun.com/jsf/facelets"
                template="./template.xhtml"
                xmlns:c="http://xmlns.jcp.org/jsp/jstl/core"
                xmlns:h="http://xmlns.jcp.org/jsf/html"
                xmlns:f="http://xmlns.jcp.org/jsf/core">
    <ui:define name="content">

        <h1>Gestión de usuarios</h1>         
        <table rules="all" border="1">
            <tr>
                <th>DNI</th>
                <th>Nombre</th>
                <th>Apellidos</th>
                <th>Fecha de nacimiento</th>
                <th>Teléfono</th>
                <th>Email</th>
                <th>Rol</th>
            </tr>

            <c:if test="#{!empty controlUsuarios.medicos()}">
                <h:form>
                    <ui:repeat value="#{controlUsuarios.medicos()}" var="usuario" varStatus="pos">
                        <tr>
                            <td><h:outputText value="#{usuario.dni}" /></td>
                            <td><h:outputText value="#{usuario.nombre}" /></td>
                            <td><h:outputText value="#{usuario.apellidos}" /></td>
                            <td><h:outputText value="#{usuario.fechaNacimiento}" /></td>
                            <td><h:outputText value="#{usuario.telefono}" /></td>
                            <td><h:outputText value="#{usuario.email}" /></td>
                            <td><h:outputText value="#{login.rol(usuario)}" /></td>
                            <td><h:commandButton class="simpleButton" value="Eliminar" 
                                                 action="#{controlUsuarios.eliminarMedico(usuario)}"/></td>
                        </tr>
                    </ui:repeat>
                </h:form>
            </c:if>

            <c:if test="#{!empty controlUsuarios.pacientes()}">
                <h:form>
                    <ui:repeat value="#{controlUsuarios.pacientes()}" var="usuario" varStatus="pos">
                        <tr>
                            <td><h:outputText value="#{usuario.dni}" /></td>
                            <td><h:outputText value="#{usuario.nombre}" /></td>
                            <td><h:outputText value="#{usuario.apellidos}" /></td>
                            <td><h:outputText value="#{usuario.fechaNacimiento}" /></td>
                            <td><h:outputText value="#{usuario.telefono}" /></td>
                            <td><h:outputText value="#{usuario.email}" /></td>
                            <td><h:outputText value="#{login.rol(usuario)}" /></td>
                            <td><h:commandButton class="simpleButton" value="Eliminar" 
                                                 action="#{controlUsuarios.eliminarPaciente(usuario)}"/></td>
                        </tr>
                    </ui:repeat>
                </h:form>
            </c:if>

            <c:if test="#{!empty controlUsuarios.administrativos()}">
                <h:form>
                    <ui:repeat value="#{controlUsuarios.administrativos()}" var="usuario" varStatus="pos">
                        <tr>
                            <td><h:outputText value="#{usuario.dni}" /></td>
                            <td><h:outputText value="#{usuario.nombre}" /></td>
                            <td><h:outputText value="#{usuario.apellidos}" /></td>
                            <td><h:outputText value="#{usuario.fechaNacimiento}" /></td>
                            <td><h:outputText value="#{usuario.telefono}" /></td>
                            <td><h:outputText value="#{usuario.email}" /></td>
                            <td><h:outputText value="#{login.rol(usuario)}" /></td>
                            <td><h:commandButton class="simpleButton" value="Eliminar" 
                                                 action="#{controlUsuarios.eliminarAdministrativo(usuario)}"/></td>
                        </tr>
                    </ui:repeat>
                </h:form>
            </c:if>
        </table>

        <h:form>
            <table>
                <tr>
                    <td>Dni:</td>
                    <td>
                        <h:inputText value="#{controlUsuarios.dni}" required="true" 
                                     requiredMessage="DNI vacio" validatorMessage="DNI: 8 Números + letra">
                            <f:validateRegex pattern="[0-9]{8}[a-zA-Z]" />
                        </h:inputText>
                    </td>
                </tr>


                <tr>
                    <td>Nombre:</td>
                    <td><h:inputText value="#{controlUsuarios.nombre}" required="true" requiredMessage="Nombre vacio"
                                     validatorMessage="Nombre: Debe ser con letras"> 
                            <f:validateRegex pattern="[a-zA-Z]+" />
                        </h:inputText></td>
                </tr>
                <tr>
                    <td>Apellidos:</td>
                    <td><h:inputText value="#{controlUsuarios.apellidos}" required="true" requiredMessage="Apellidos vacio"
                                     validatorMessage="Apellidos: Debe ser con letras"> 
                            <f:validateRegex pattern="[a-zA-Z]+" />
                        </h:inputText></td>
                </tr>

                <tr>
                    <td>Contraseña:</td>
                    <td><h:inputText value="#{controlUsuarios.contrasena}" required="true" requiredMessage="Contraseña vacio"/></td>
                </tr>
                <tr>
                    <td>Fecha (dd/mm/aaaa): </td>
                    <td>
                        <h:selectOneMenu value="#{controlUsuarios.dia}">
                            <c:forEach var="i" begin="1" end="31">
                                <f:selectItem itemLabel="${i}" itemValue="${i}" />                        
                            </c:forEach>
                        </h:selectOneMenu>
                        <h:selectOneMenu value="#{controlUsuarios.mes}">
                            <c:forEach var="i" begin="1" end="12">
                                <f:selectItem itemLabel="${i}" itemValue="${i}" />                        
                            </c:forEach>
                        </h:selectOneMenu>
                        <h:inputText value="#{controlUsuarios.year}" validatorMessage="Año no válido">
                            <f:validateLongRange minimum="1900" maximum="2200" />
                        </h:inputText>
                    </td>
                </tr>
                <tr>
                    <td>Teléfono:</td>
                    <td><h:inputText value="#{controlUsuarios.telefono}" required="true" requiredMessage="Teléfono vacio"
                                     validatorMessage="Teléfono: Debe ser numérico"> 
                            <f:validateRegex pattern="[0-9]+" />
                        </h:inputText>
                    </td>
                </tr> 

                <tr>
                    <td>Email:</td>
                    <td><h:inputText value="#{controlUsuarios.email}"/></td>
                </tr> 

                <tr>
                    <td>NºSeguridad Social(P):</td>
                    <td><h:inputText value="#{controlUsuarios.social}"/></td>
                </tr> 

                <tr>
                    <td>Especialidad(M):</td>
                    <td><h:inputText value="#{controlUsuarios.especialidad}"/></td>
                </tr> 

                <tr>
                    <td>Departamento(M/A):</td>
                    <td><h:inputText value="#{controlUsuarios.departamento}"/></td>
                </tr> 

                <tr>
                    <h:selectOneRadio value="#{controlUsuarios.tipo}">
                        <f:selectItem itemLabel="Paciente" itemValue="1" />
                        <f:selectItem itemLabel="Médico" itemValue="2" />
                        <f:selectItem itemLabel="Administrativo" itemValue="3" />
                    </h:selectOneRadio>
                </tr> 

                <tr>
                    <td colspan="6"><h:commandButton class="simpleButton" value="Añadir" action="#{controlUsuarios.anadirUsuario()}"/> </td>
                </tr>
            </table>
        </h:form>
    </ui:define>
</ui:composition>



